package com.project.service;

import com.project.bean.UserBean;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

public interface UserService {
    /**
     * 登录
     *
     * @param userName 用户名
     * @param passWord 密码
     * @return 登录成功返回登录用户对象，登录失败返回null
     */
    public UserBean login(String userName, String passWord);

    /**
     * 修改密码
     *
     * @param id       登录用户id
     * @param passWord 新密码
     */
    public void updatePassWord(Integer id, String passWord);

    /**
     * 添加新用户
     * 验证用户是否存在，如果存在返回false
     * 如果不存在，完成用户添加返回true
     *
     * @param userBean 新用户
     */
    public boolean addUser(UserBean userBean);

    /**
     * 检测用户名是否存在
     *
     * @param userName 用户名
     * @return 用户名是否存在
     */
    public boolean checkName(String userName);

    /**
     * 查询所有用户
     *
     * @return 用户集合
     */
    public List<UserBean> findAll();

    /**
     * 根据id查找用户
     *
     * @param id 用户id
     * @return 用户对象
     */
    public UserBean findById(Integer id);

    /**
     * 按id删除用户，如果登录用户和删除用户同名，则返回false
     * 否则，完成删除用户，返回ture
     *
     * @param id        用户id
     * @param loginUser 登录用户
     * @return 删除是否成功
     */
    public boolean delUser(Integer id, UserBean loginUser);

    /**
     * 根据id修改用户等级
     *
     * @param id    用户id
     * @param grade 用户等级
     */
    public void updateUserGrade(Integer id, String grade);
}
